/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bean;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Lớp giỏ hàng
 * @author Windsea
 */
public class GioHang {
 
   private List<MonHang> giohang;  // List món hàng
 
   // Khởi tạo
   public GioHang() {
      giohang = new ArrayList<MonHang>();
   }
 
   // Thêm món hàng vào giỏ hàng
   public void add(int id, String name,String type, String provider, int price, int qtyOrdered) {
      // Kiểm tra xem id món hàng có trong giỏ
      Iterator<MonHang> iter = giohang.iterator();
      while (iter.hasNext()) {
         MonHang item = iter.next();
         if (item.getId() == id) {
            // tìm thấy id, tăng qtyOrdered lên
            item.setQtyOrdered(item.getQtyOrdered() + qtyOrdered);
            return;
         }
      }
      // ko tìm thấy, thêm món hàng mới
      giohang.add(new MonHang(id, name,type, provider, price, qtyOrdered));
   }
 
   // Cập nhật số lượng món hàng
   public boolean update(int id, int newQty) {
      Iterator<MonHang> iter = giohang.iterator();
      while (iter.hasNext()) {
         MonHang item = iter.next();
         if (item.getId() == id) {
            // tìm thấy id, tăng qtyOrdered lên
            item.setQtyOrdered(newQty);
            return true;
         }
      }
      return false;
   }
 
   // Xóa món hàng
   public void remove(int id) {
      Iterator<MonHang> iter = giohang.iterator();
      while (iter.hasNext()) {
         MonHang item = iter.next();
         if (item.getId() == id) {
             //xóa item
            giohang.remove(item);
            return;
         }
      }
   }
 
   // lấy kích cỡ của giỏ hàng
   public int size() {
      return giohang.size();
   }
 
   // kiểm tra giỏ hàng rỗng
   public boolean isEmpty() {
      return size() == 0;
   }
 
   // Trả lại tất cả món hàng trong List<CartItem>
   public List<MonHang> getItems() {
      return giohang;
   }
 
   // Xóa giỏ hàng
   public void clear() {
      giohang.clear();
   }
}
